//
// Created by Zeppyrz on 2025/11/6.
//

#ifndef ZEDISK_DIRTASK_H
#define ZEDISK_DIRTASK_H

#include <functional>

#include "CommonTask.h"

namespace ZeDiskGUI {

using namespace ZeDisk;

class DirTask : public CommonTask {
 public:
  using HandleDirectoryListCallback = std::function<void(std::string)>;
  DirTask() = default;
  ~DirTask() override = default;
  bool Stop() override;

  void HandleMessage(const Message* msg) override;
  void ConnectCallback() override;

  HandleDirectoryListCallback DirectoryListCallback;
};

}  // namespace ZeDiskGUI

#endif  // ZEDISK_DIRTASK_H
